﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using vudu.Presentacion.Contrato.VU_12_Obtener_Reportes_de_Material;
using vudu.Logica.Fachada;
using vudu.ClasesDominio;
using System.Data;

namespace vudu.Presentacion.Presentador.VU_12_Obtener_Reportes_de_Material
{
    public class PresentadorConsultarReportesMaterial
    {
        private EnlaceLogico _fachada;
        public IContratoConsultarMateriasProfesorReporte _vista;
        private List<SeccionMateria> _lista;
        private Profesor _profesor;

        public PresentadorConsultarReportesMaterial(EnlaceLogico fachada,IContratoConsultarMateriasProfesorReporte vista)
        {
            _profesor =(Profesor)fachada.RolActual;
             _vista = vista;
            _fachada = fachada;
        }


        public void ConsultarMaterias()
        {
            List<SeccionMateria> misMaterias = new List<SeccionMateria>();
            misMaterias = _fachada.ConsultarMateriasSeccionProfesor(_profesor.Crn);
            llenarGridView(misMaterias);
        }


        public void llenarGridView(List<SeccionMateria> misMaterias)
        {
            if (misMaterias.Count > 0)
            {
                DataTable tablaMisMaterias = new DataTable();
                tablaMisMaterias.Columns.Add("Materia", typeof(String));
                tablaMisMaterias.Columns.Add("Seccion", typeof(int));
                tablaMisMaterias.Columns.Add("Codigo", typeof(int));

                for (int indiceMateria = 0; indiceMateria < misMaterias.Count; indiceMateria++)
                {
                    tablaMisMaterias.Rows.Add(misMaterias[indiceMateria].Materia.Nombre, 
                                        misMaterias[indiceMateria].IdSeccionMateria, 
                                        misMaterias[indiceMateria].Materia.Codigo);
                }
                _vista.GridMateriasDictadas.DataSource = tablaMisMaterias;
                _vista.GridMateriasDictadas.DataBind();
                ponerInvisibleColumnaCodigo();
            }
        }

       public void ponerInvisibleColumnaCodigo()
        {
            _vista.GridMateriasDictadas.HeaderRow.Cells[4].Visible = false;
            foreach (GridViewRow row in _vista.GridMateriasDictadas.Rows)
            {
                row.Cells[4].Visible = false;
            }
        }

        

        

    }
}